<!DOCTYPE html>
<html>

	<head lang="en">
		<meta charset="UTF-8">
		<title>注册</title>
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport"
			  content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
		<meta name="format-detection" content="telephone=no">
		<meta name="renderer" content="webkit">
		<meta http-equiv="Cache-Control" content="no-siteapp"/>

		<link rel="stylesheet" href="./AmazeUI-2.4.2/assets/css/amazeui.min.css"/>
		<link href="./css/dlstyle.css" rel="stylesheet" type="text/css">
		<script src="./AmazeUI-2.4.2/assets/js/jquery.min.js"></script>
		<script src="./AmazeUI-2.4.2/assets/js/amazeui.min.js"></script>

		<!--//1. 从pethome_admin中将vue和axios的包拷贝到当前项目
		    //2. register.html页面导入：-->
		<script src="js/plugins/axios/dist/axios.js"></script>
		<script src="js/plugins/vue/dist/vue.js"></script>
		<script src="js/common.js"></script>

	</head>

	<body>
		<div id="app">
			<div class="login-boxtitle">
				<a href="home/demo.html"><img alt="" src="./images/logobig.png"/></a>
			</div>

			<div class="res-banner">
				<div class="res-main">
					<div class="login-banner-bg"><span></span><img src="./images/big.jpg"/></div>
					<div class="login-box">

						<div class="am-tabs" id="doc-my-tabs">
							<ul class="am-tabs-nav am-nav am-nav-tabs am-nav-justify">
								<li class="am-active"><a href="">邮箱注册</a></li>
								<li><a href="">手机号注册</a></li>
							</ul>

							<div class="am-tabs-bd">
								<div class="am-tab-panel am-active">
									<form method="post">

										<div class="user-email">
											<label for="email"><i class="am-icon-envelope-o"></i></label>
											<input type="email" name="" v-model="emailUserForm.email" id="email" placeholder="请输入邮箱账号">
										</div>
										<div class="user-pass">
											<label for="password"><i class="am-icon-lock"></i></label>
											<input type="password" name="" v-model="emailUserForm.pwd" id="password" placeholder="设置密码">
										</div>
										<div class="user-pass">
											<label for="passwordRepeat"><i class="am-icon-lock"></i></label>
											<input type="password" name="" v-model="emailUserForm.rePwd" id="passwordRepeat" placeholder="确认密码">
										</div>

									</form>

									<div class="login-links">
										<label for="reader-me">
											<input id="reader-me" type="checkbox"> 点击表示您同意商城《服务协议》
										</label>
									</div>
									<div class="am-cf">
										<input type="button" @click="emailRegister" value="注册" class="am-btn am-btn-primary am-btn-sm am-fl">
									</div>

								</div>

								<div class="am-tab-panel">
									<form method="post">
										<div class="user-phone">
											<label for="phone"><i class="am-icon-mobile-phone am-icon-md"></i></label>
											<input type="tel" name="" id="phone" v-model="phoneUserForm.phone" placeholder="请输入手机号">
										</div>
										<div class="user-phone">
											<label for="imageCode"><i class="am-icon-check am-icon-sm"></i></label>
											<input type="text" name="" style="width: 180px;" v-model="phoneUserForm.imageCode"
												   id="imageCode" placeholder="请输入图片验证码">
											<img id="captcha-image-temp" @click="getImageCode" :src="base64ImageCode"
												 class="captcha-image-temp" alt="点击换图" title="点击换图"
												 style="vertical-align: middle; cursor: pointer;">
										</div>
										<div class="verification">
											<label for="code"><i class="am-icon-code-fork"></i></label>
											<input type="tel" name="" v-model="phoneUserForm.phoneCode" id="code" placeholder="请输入验证码">
<!--											<a class="btn" href="javascript:void(0);" @click="sendMobileCode();"-->
<!--											   id="sendMobileCode">-->
<!--												<span id="dyMobileButton">获取</span></a>-->
											<button type="button"  style="width: 55px;height: 40px " @click="sendMobileCode">获取</button>
										</div>
										<div class="user-pass">
											<label for="password"><i class="am-icon-lock"></i></label>
											<input type="password" name="" v-model="phoneUserForm.pwd" id="password" placeholder="设置密码">
										</div>
										<div class="user-pass">
											<label for="passwordRepeat"><i class="am-icon-lock"></i></label>
											<input type="password" name="" v-model="phoneUserForm.rePwd" id="passwordRepeat" placeholder="确认密码">
										</div>
									</form>
									<div class="login-links">
										<label for="reader-me">
											<input id="reader-me" type="checkbox"> 点击表示您同意商城《服务协议》
										</label>
									</div>
									<div class="am-cf">
										<input type="button" @click="phoneRegister" value="注册" class="am-btn am-btn-primary am-btn-sm am-fl">
									</div>

									<hr>
								</div>
							</div>
						</div>

					</div>
				</div>

				<div class="footer ">
					<div class="footer-hd ">
						<p>
							<a href="# ">恒望科技</a>
							<b>|</b>
							<a href="# ">商城首页</a>
							<b>|</b>
							<a href="# ">支付宝</a>
							<b>|</b>
							<a href="# ">物流</a>
						</p>
					</div>
					<div class="footer-bd ">
						<p>
							<a href="# ">关于恒望</a>
							<a href="# ">合作伙伴</a>
							<a href="# ">联系我们</a>
							<a href="# ">网站地图</a>
							<em>© 2015-2025 Hengwang.com 版权所有. 更多模板 <a href="http://www.cssmoban.com/" target="_blank" title="模板之家">模板之家</a>
								- Collect from <a href="http://www.cssmoban.com/" title="网页模板" target="_blank">网页模板</a></em>
						</p>
					</div>
				</div>
			</div>
		</div>
	</body>
	<script>
		$(function () {
			$('#doc-my-tabs').tabs();
		})
	</script>
	<script type="text/javascript">
		new Vue({
			//挂载点：当前Vue实例中的所有数据【模型数据data，方法methods】只能在id="app"的元素中使用
			el:"#app",
			//模型数据：可以有多个，所以也是json对象
			data:{
				emailUserForm: {
					email: '928915144@qq.com',
					pwd: '',
					rePwd: '',

				},
				phoneUserForm: {
					imageCode: '',
					phone: '19940695091',
					pwd: '',
					rePwd: '',
					phoneCode: '',

				},
				base64ImageCode:'',

			},
			//方法：可以有多个，所以也是json对象
			methods: {
				emailRegister(){
					this.$http.post("/user/register/email",this.emailUserForm).then(res =>{
						let AjaxResult = res.data;
						if(AjaxResult.success){
							location.href="login.html"
						}else{
							alert(AjaxResult.msg)
						}
					})
				},
				phoneRegister(){
					this.$http.post("/user/register/phone",this.phoneUserForm).then(res =>{
						let AjaxResult = res.data;
						if(AjaxResult.success){
							location.href="login.html"
						}else{
							alert(AjaxResult.msg)
						}
					})
				},
				//前端生成key - 就用来传递到后端来保存或获取redis图形验证码
				createUuid() {
					var s = [];
					var hexDigits = "0123456789abcdefghi";
					for (var i = 0; i < 36; i++) {
						s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
					}
					s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
					s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
					s[8] = s[13] = s[18] = s[23] = "-";

					var uuid = s.join("");
					return uuid;
				},
				getImageCode() {//判断加发请求的方法
					//localStorage保存的数据只要不删除一直存在：删除1.鼠标删除 2.代码删除removeItem
					let key = localStorage.getItem("imageCodeKey");
					//js中可以直接对变量进行判断：0 null NaN undefined 原始类型的false ""
					if (!key) {//没有值就生成一个 - 保证key值唯一
						key = this.createUuid();
						//将key保存到localStorage
						localStorage.setItem("imageCodeKey", key);
					}

					this.$http.get("/verifyCode/image/" + key).then(res => {
						//console.log(res.data);//base64编码之后的字符串
						this.base64ImageCode = "data:image/jpeg;base64," + res.data.obj
					}).catch(res => {
						alert("系统繁忙，请稍后重试!!!【400，404】")
					})
				},
				sendMobileCode() {

					//1.判断手机号不为空
					if (!this.phoneUserForm.phone) {
						alert("手机号不能为空");
						return;
					}
					//2.判断图片验证码不为空
					if (!this.phoneUserForm.imageCode) {
						alert("图片验证码不能为空");
						return;
					}
					//3.获取按钮，禁用按钮  发送时灰化不能使用，发送成功倒计时60才能使用，如果发送失败立即可以发送
					var sendBtn = $(event.target);//获取到按钮
					sendBtn.attr("disabled", true);//设置属性：disabled="true"

					//组装请求参数
					var param = {
						phone: this.phoneUserForm.phone,            //手机号码
						imageCode: this.phoneUserForm.imageCode,    //图形验证码
						imageCodeKey: localStorage.getItem("imageCodeKey")  //获取redis的图形验证码的key
					};

					//4.发送ajax请求
					this.$http.post("/verifyCode/mobile", param).then(res => {
						var ajaxResult = res.data;
						if (ajaxResult.success) {
							alert("手机验证码已经发送到您的手机，请在3分钟内使用");
							//4.1.发送成：倒计时
							var time = 60;
							//周期性定时器
							var interval = window.setInterval(function () {
								//每一条倒计时减一
								time = time - 1;
								//把倒计时时间搞到按钮上
								sendBtn.html(time + "s");
								//4.2.倒计时完成恢复按钮
								if (time <= 0) {
									sendBtn.html("重发");
									sendBtn.attr("disabled", false); //解除禁用
									//清除定时器
									window.clearInterval(interval);
								}
							}, 1000);
						} else {
							//4.3.发送失败：提示，恢复按钮
							sendBtn.attr("disabled", false);
							alert(ajaxResult.msg);
						}
					})
				},
			},
			//页面一加载就会执行
			mounted(){
				this.getImageCode()
			},
		});
	</script>
</html>